<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1limpiar-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">
	<ui:define name="title">NUEVA COTIZACION</ui:define>
	<ui:define name="content">
		<h:outputText value="RESPONSIVE WEB DESIGN" class="asterisco" />
		<p:growl id="mensaje" showDetail="true" life="7000" />

		<p:panel id="panel" header="NUEVA COTIZACION"
			style="margin-bottom:10px;height:auto;">

			<div>

				<h:form id="formTotales" style="height: 0px;">
					<h:panelGrid columns="2" cellspacing="2"
						styleClass="CabezeraCotizacion">

						<h:outputText styleClass="letrasGrandes" value="SUB-TOTAL 12%:"
							style="padding-left: 4px;" />
						<p:inputText readonly="true"
							value="#{cotizacionBean.cantidadFacturaPresentar.subTotalIva}"
							styleClass="colorLetras txtFactura txtCabezeraCotizacion"
							style="font-size: 14px !important;	font-weight: bold;" />

						<h:outputText styleClass="letrasGrandes"
							style="padding-left: 5px;" value="SUB-TOTAL 0%:" />
						<p:inputText readonly="true"
							value="#{cotizacionBean.cantidadFacturaPresentar.subTotalNoIva}"
							styleClass="colorLetras txtFactura txtCabezeraCotizacion"
							style="font-size: 14px !important;	font-weight: bold;" />

						<h:outputText styleClass="letrasGrandes"
							style="padding-left: 4px;" value="DESCUENTO PRODUCTO:" />
						<p:inputText readonly="true"
							value="#{cotizacionBean.cantidadFacturaPresentar.descuentoProducto}"
							styleClass="colorLetras txtFactura txtCabezeraCotizacion"
							style="font-size: 14px !important;	font-weight: bold;" />

						<h:outputText styleClass="letrasGrandes"
							style="padding-left: 4px;" value="DESCUENTO COTIZACION:" />
						<p:inputText
							value="#{cotizacionBean.cantidadFacturaPresentar.descuentoEgreso}"
							styleClass="colorLetras txtFactura txtCabezeraCotizacion"
							style="font-size: 14px !important;	font-weight: bold;">
							<p:ajax event="change"
								listener="#{cotizacionBean.cambiarDescuento}"
								update=":formTotales, :mensaje" />
						</p:inputText>

						<h:outputText styleClass="letrasGrandes"
							style="padding-left: 4px;" value="SUBTOTAL - BR:" />
						<p:inputText readonly="true"
							value="#{cotizacionBean.cantidadFacturaPresentar.subTotal}"
							styleClass="colorLetras txtFactura txtCabezeraCotizacion"
							style="font-size: 14px !important;	font-weight: bold;" />

						<h:outputText styleClass="letrasGrandes" value="IVA 12%:"
							style="padding-left: 8px;" />
						<p:inputText readonly="true"
							value="#{cotizacionBean.cantidadFacturaPresentar.iva}"
							styleClass="colorLetras txtFactura txtCabezeraCotizacion"
							style="font-size: 14px !important;	font-weight: bold;" />

						<h:outputText styleClass="letrasGrandes"
							style="padding-left: 8px;" value="TOTAL:" />
						<p:inputText readonly="true"
							value="#{cotizacionBean.cantidadFacturaPresentar.total}"
							styleClass="colorLetras txtFactura txtCabezeraCotizacion"
							style="font-size: 14px !important;	font-weight: bold;" />

					</h:panelGrid>
				</h:form>

				<h:form id="formDocumento">

					<h:panelGrid columns="3" cellpadding="1"
						styleClass="cabezeraClienteCotizacion">
						<h:outputText value="COTIZACIÓN Nº:" styleClass="negrita" />
						<p:inputText readonly="true" styleClass="txtCabeceraCotizacion"
							value="#{cotizacionBean.egreso.codigodocumento}" />
						<h:outputText value="" />

						<p:outputLabel value="CLIENTE" styleClass="negrita" />
						<p:inputText id="comboCedula" readonly="true"
							styleClass="txtClienteCabeceraCotizacion"
							value="#{cotizacionBean.cliente.cedula} - #{cotizacionBean.cliente.apellido} #{cotizacionBean.cliente.nombre}" />
						<p:commandButton oncomplete="PF('buscarCliente').show()"
							styleClass="btnClienteCabeceraCotizacion" icon="ui-icon-search"
							action="#{cotizacionBean.limpiarObjetosBusquedaCliente}"
							update=":formNuevoCliente" />

						<p:outputLabel value="LOCAL:" styleClass="negrita" />
						<p:selectOneMenu id="comboLocal"
							styleClass="comboCabeceraCotozacion"
							disabled="#{cotizacionBean.bnLocal}"
							value="#{cotizacionBean.egreso.local.localid}" filter="true"
							filterMatchMode="contains">
							<f:selectItem itemLabel="ESCOJA UN LOCAL" /> styleClass="cabeceraCotozacion"
						<f:selectItems value="#{cotizacionBean.listaLocales}" var="local"
								itemValue="#{local.localid}" itemLabel="#{local.nombre}" />
							<p:ajax update=":mensaje" event="change"
								listener="#{cotizacionBean.obtenerBodega}" />
						</p:selectOneMenu>
						<h:outputText value="" />

						<h:outputText value="CAJERO/VENDEDOR:" styleClass="negrita" />
						<p:inputText readonly="true" styleClass="txtCabeceraCotizacion"
							value="#{cotizacionBean.nombreVendedor}" />
						<h:outputText value="" />

						<p:commandButton value="GUARDAR"
							update="formDocumento, :formDataTable,  :formTotales, :mensaje"
							id="btnGuardar" icon="ui-icon-disk"
							actionListener="#{cotizacionBean.insertar}" />

						<p:commandButton value="NUEVO" id="btnlimpiar"
							update="formDocumento, :formDataTable, :formTotales"
							icon="ui-icon-document"
							actionListener="#{cotizacionBean.limpiarObjetos}" process="@this" />
					</h:panelGrid>
				</h:form>

			</div>

			<p:dialog header="BUSCAR CLIENTE" widgetVar="buscarCliente"
				resizable="false" modal="false" showEffect="clip" hideEffect="fold"
				id="dialogoCliente" styleClass="dialogoBuscarClientesCotizacion"
				style="text-align: center;">

				<h:form id="formNuevoCliente" style="width: auto;">
					<p:outputLabel value="CEDULA/RUC/NOMBRE/APELLIDO:"
						styleClass="negrita" />
					<p:inputText id="comboCedula"
						value="#{cotizacionBean.criterioClienteBusqueda}"
						onblur="this.value=this.value.toUpperCase();" />

					<p:commandButton update="comboCedula, tablaClientes, :mensaje"
						icon="#{msg['iconoBuscar']}"
						actionListener="#{cotizacionBean.obtenerClientesPorBusqueda}" />

					<p:dataTable id="tablaClientes" var="cliente" style="width: auto;"
						value="#{cotizacionBean.listaClienteBusqueda}" paginator="true"
						rows="10" emptyMessage="#{msg['lbl.mensajeTabla']}"
						paginatorPosition="bottom" rowKey="#{cliente.personaid}"
						selection="#{cotizacionBean.cliente}" selectionMode="single">

						<p:ajax event="rowSelect" update=":formDocumento"
							listener="#{cotizacionBean.cargarCliente}"
							oncomplete="PF('buscarCliente').hide()" />

						<p:column headerText="CEDULA"
							style="text-align:center;width: 100px;">
							 	#{cliente.cedula}
						</p:column>

						<p:column headerText="APELLIDO"
							style="text-align:center;width: 100px;">
							 	#{cliente.apellido}
						</p:column>

						<p:column headerText="NOMBRE"
							style="text-align:center;width: 100px;">
							 	#{cliente.nombre}
						</p:column>
						<p:column headerText="CIUDAD" style="text-align:center;">
							 	#{cliente.ciudad.nombre}
						</p:column>

					</p:dataTable>
				</h:form>

			</p:dialog>

			<h:form id="formDataTable">

				<p:dataTable id="tablaDetalleEgresos" scrollable="true"
					paginator="true"
					styleClass="ui-datatable-scrollable-body tablaCotizacion"
					var="facturaReporte" value="#{cotizacionBean.facturaReportes}"
					rows="10" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom" editable="true" editMode="cell">

					<f:facet name="header">
						<h:form>
							<p:commandButton
								update=":formNuevoProducto , :mensaje, :formInsertarProducto"
								oncomplete="comprobarDialogoProducto(xhr, status, args)"
								actionListener="#{cotizacionBean.comprobarLocal}" id="btnNuevo"
								icon="ui-icon-plus" value="INSERTAR PRODUCTO" />
						</h:form>
					</f:facet>

					<p:ajax event="cellEdit" listener="#{cotizacionBean.obtenerFila}"
						update=":mensaje" />

					<p:column headerText="GESTIONAR"
						style="text-align:center;width: 60px;">
						<p:commandButton id="btnEliminar" update=":formEliminar"
							oncomplete="PF('detalleEgresoDialogoEliminar').show()"
							icon="#{msg['iconoEliminar']}"
							disabled="#{!facturaReporte.eliminar}">
							<f:setPropertyActionListener value="#{facturaReporte}"
								target="#{cotizacionBean.facturaReporte}" />
						</p:commandButton>
					</p:column>

					<p:column headerText="IVA" style="text-align:center;width: 50px;">  
            				#{facturaReporte.iva}
        				</p:column>

					<p:column headerText="CODIGO" filterBy="#{facturaReporte.codigo}"
						style="text-align:center;width: 70px;">
							 	#{facturaReporte.codigo}
						</p:column>

					<p:column headerText="DESCRIPCION"
						style="text-align:center;width: 100px;"
						filterBy="#{facturaReporte.descripcion}">
						<h:outputText id="nombre" value="#{facturaReporte.descripcion}"
							readonly="true" />
						<p:tooltip for="nombre" value="#{facturaReporte.descripcion}" />
					</p:column>

					<p:column headerText="CANTIDAD"
						style="text-align:center;width: 50px;">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{facturaReporte.cantidad}" />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{cotizacionBean.cantidad}"
									disabled="#{!facturaReporte.eliminar}">
									<p:ajax event="change"
										listener="#{cotizacionBean.cambiarCantidad}"
										update=":formDataTable ,:mensaje, :formTotales" />
								</p:inputText>
							</f:facet>
						</p:cellEditor>
					</p:column>

					<p:column headerText="P. UNIT."
						style="text-align:center;width: 50px;">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{facturaReporte.precioUnitVenta}" />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{cotizacionBean.nuevoPrecio}"
									disabled="#{!facturaReporte.eliminar}">
									<p:ajax event="change"
										listener="#{cotizacionBean.cambiarPrecio}"
										update=":formDataTable ,:mensaje, :formTotales" />
								</p:inputText>
							</f:facet>
						</p:cellEditor>
					</p:column>

					<p:column headerText="DESC $"
						style="text-align:center;width: 50px;">  
            				#{facturaReporte.descuentoDolares}  
        				</p:column>

					<p:column headerText="DESC %"
						style="text-align:center;width: 50px;">  
            				#{facturaReporte.descuentoPorcentaje}  
        				</p:column>

					<p:column headerText="IMPORTE"
						style="text-align:center;width: 50px;">  
            				#{facturaReporte.importe}  
        				</p:column>
				</p:dataTable>
			</h:form>

		</p:panel>

		<p:dialog widgetVar="detalleEgresoDialogoEliminar" severity="alert"
			header="SACAR PRODUCTO DE LA LISTA" showEffect="explode"
			hideEffect="explode" modal="false" resizable="false" width="300px"
			style="text-align: center;">
			<h:form id="formEliminar">
				<br />
				<p:outputLabel value="¿ ESTA SEGURO DE SACAR ESTE PRODUCTO ?" />
				<br />
				<br />
				<p:commandButton value="ACEPTAR"
					update=":formDataTable,:mensaje, :formTotales" icon="ui-icon-check"
					oncomplete="PF('detalleEgresoDialogoEliminar').hide()"
					actionListener="#{cotizacionBean.eliminarDetalle}" />
				<p:commandButton value="CANCELAR" type="button"
					onclick="PF('detalleEgresoDialogoEliminar').hide()"
					icon="ui-icon-close" />
			</h:form>
		</p:dialog>

		<p:dialog header="INSERTAR PRODUCTO" widgetVar="productoDialogoNuevo"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoNuevo" styleClass="dialogoInsertarProductoFactura">
			<h:panelGrid columns="1" cellpadding="1">
				<h:form id="formInsertarProducto">
					<h:panelGrid columns="3" cellpadding="1">
						<h:outputText value="EAN / CÓDIGO1 / CÓDIGO2 / NOMBRE " />
						<p:inputText value="#{cotizacionBean.criterioProductoBusqueda}"
							onblur="this.value=this.value.toUpperCase();" />

						<p:commandButton
							update="formInsertarProducto, :formNuevoProducto:tablaProductos, :mensaje"
							icon="#{msg['iconoBuscar']}"
							actionListener="#{cotizacionBean.obtenerProductosPorBusqueda}" />
					</h:panelGrid>
				</h:form>

				<h:form id="formNuevoProducto">

					<p:focus context="formNuevoProducto" />

					<h:panelGrid columns="1" cellpadding="1">
						<p:dataTable id="tablaProductos" var="producto"
							value="#{cotizacionBean.listaProductoBusqueda}" paginator="true"
							rows="5" emptyMessage="#{msg['lbl.mensajeTabla']}"
							paginatorPosition="bottom" rowKey="#{producto.productoid}"
							selection="#{cotizacionBean.producto}" selectionMode="single">

							<p:ajax event="rowSelect"
								update=":mensaje, :formNuevoProducto:precioUnitId, :formNuevoProducto:ivaUnitId, :formNuevoProducto:precioUnitTotalId, :formNuevoProducto:subId, :formNuevoProducto:ivaId,:formNuevoProducto:totalId, :formNuevoProducto:comboTipoPrecio"
								listener="#{cotizacionBean.cargarProducto}" />

							<p:column headerText="EAN" style="text-align:center;width: 50px;">
							 	#{producto.ean}
						</p:column>

							<p:column headerText="NOMBRE"
								style="text-align:center;width: 200px;">
							 	#{producto.nombreimprimir}
						</p:column>

						</p:dataTable>
					</h:panelGrid>

					<h:panelGrid columns="4" cellpadding="1" width="100%">

						<h:outputText value="TIPO DE PRECIO:" />
						<p:selectOneMenu id="comboTipoPrecio"
							value="#{cotizacionBean.facturaReporte.precioId}"
							style="width: 110px !important;" styleClass="hola">
							<f:selectItem itemLabel="ESCOJA PRECIO" />
							<f:selectItems
								value="#{cotizacionBean.producto.tipoPrecioProductos}"
								var="precio" itemValue="#{precio.tipoprecioproductoid}"
								itemLabel="#{precio.nombre}" />
							<p:ajax event="change"
								update="precioUnitId, ivaUnitId, precioUnitTotalId, subId, ivaId,totalId"
								listener="#{cotizacionBean.obtenerPrecio}" />
						</p:selectOneMenu>


						<h:outputText value="CANTIDAD:" styleClass="negrita" />
						<p:inputText value="#{cotizacionBean.facturaReporte.cantidad}"
							style="width:100px">
							<p:ajax event="blur"
								update=":mensaje, precioUnitId, ivaUnitId, precioUnitTotalId, subId, ivaId,totalId"
								listener="#{cotizacionBean.calcularPrecioCantidad}" />
						</p:inputText>

						<h:outputText value="P. UNIT.:" styleClass="negrita" />
						<p:inputText id="precioUnitId" style="width:100px"
							value="#{cotizacionBean.facturaReporte.precioUnitVenta}">
							<p:ajax event="blur"
								update=":mensaje, ivaUnitId, precioUnitTotalId, subId, ivaId, totalId"
								listener="#{cotizacionBean.comprobarPrecioCosto}" />
						</p:inputText>

						<h:outputText value="SUBTOTAL:" />
						<p:inputText id="subId" style="width:100px"
							value="#{cotizacionBean.facturaReporte.subTotal}">
							<p:ajax event="blur"
								update=":mensaje, precioUnitId, ivaUnitId, precioUnitTotalId, subId, ivaId, totalId"
								listener="#{cotizacionBean.calcularPrecioSubTotal}" />
						</p:inputText>

						<h:outputText value="P. UNIT. IVA:" />
						<p:outputLabel id="ivaUnitId" style="width:100px"
							value="#{cotizacionBean.facturaReporte.precioUnitIva}" />

						<h:outputText value="IVA:" />
						<p:outputLabel id="ivaId" style="width:100px"
							value="#{cotizacionBean.facturaReporte.ivaTotal}" />

						<h:outputText value="P. UNIT. TOTAL:" />
						<p:inputText id="precioUnitTotalId" style="width:100px"
							value="#{cotizacionBean.facturaReporte.precioUnitTotal}">
							<p:ajax event="blur"
								update=":mensaje, precioUnitId, ivaUnitId, subId, ivaId, totalId"
								listener="#{cotizacionBean.calcularPrecioUnit}" />
						</p:inputText>

						<h:outputText value="SUBTOTAL:" />
						<p:inputText id="totalId" style="width:100px"
							value="#{cotizacionBean.facturaReporte.importe}">
							<p:ajax event="blur"
								update=":mensaje,precioUnitId, ivaUnitId, precioUnitTotalId, subId, ivaId"
								listener="#{cotizacionBean.calcularPrecioTotal}" />
						</p:inputText>

						<h:outputText value="DESC. %:" styleClass="negrita" />
						<p:inputText id="descPorcentaje" style="width:100px"
							value="#{cotizacionBean.facturaReporte.descuentoPorcentaje}">
							<p:ajax event="blur" update=":mensaje, descDolares, totalTotalId"
								listener="#{cotizacionBean.calcularDescuentoPorcentaje}" />
						</p:inputText>

						<h:outputText value="DESC. $:" styleClass="negrita" />
						<p:inputText id="descDolares" style="width:100px"
							value="#{cotizacionBean.facturaReporte.descuentoDolares}">
							<p:ajax event="blur"
								update=":mensaje, descPorcentaje, totalTotalId"
								listener="#{cotizacionBean.calcularDescuentoDolares}" />
						</p:inputText>

						<h:outputText value="PROMOCION:" />
						<p:selectBooleanCheckbox
							value="#{cotizacionBean.facturaReporte.promocion}">
							<p:ajax event="change"
								update="precioUnitId, ivaUnitId, precioUnitTotalId, subId, ivaId,totalId"
								listener="#{cotizacionBean.calcularPrecioPromocion}" />
						</p:selectBooleanCheckbox>

						<h:outputText value="TOTAL:" />
						<p:inputText id="totalTotalId" style="width:100px"
							value="#{cotizacionBean.facturaReporte.importeTotal}">
						</p:inputText>

						<f:facet name="footer">
							<p:separator />
							<p:commandButton value="INSERTAR"
								update=":formDocumento,formNuevoProducto,:formDataTable ,:mensaje, :formTotales"
								id="btnNuevoAceptar" icon="#{msg['iconoGuardar']}"
								actionListener="#{cotizacionBean.insertarDetalle}" />

							<p:commandButton value="CANCELAR"
								oncomplete="PF('productoDialogoNuevo').hide()"
								id="btnNuevolimpiar" icon="#{msg['iconoCancelar']}" />
						</f:facet>
					</h:panelGrid>
				</h:form>
			</h:panelGrid>
		</p:dialog>

		<script type="text/javascript">
			//<![CDATA[
			function comprobar(xhr, status, args) {
				if (!args.validationFailed && args.error) {
					PF('clienteDialogoNuevo').hide();
				}
			}
			function comprobarDialogoProducto(xhr, status, args) {
				if (args.error1) {
					PF('productoDialogoNuevo').show()
				}
			}
			function comprobarFactura(xhr, status, args) {
				if (args.error) {
					PF('clienteDialogoPago').show()
				}
			}
			//]]>

			function handleSubmitRequest(args) {
				if (!args.validationFailed) {
					PF('productoDialogoNuevo').hide();
				}
			}
		</script>
	</ui:define>
</ui:composition>
</html>